package org.aspectsense.middleware.interfaces;

import java.lang.annotation.Annotation;
import java.util.HashMap;

public interface IComponentContainer {
		
		public String getServiceUtilityFunction (String serviceName);
		
		public void resolve(boolean value);
		
		public boolean isResolved();
		
		public String getInfo ();

		/**
		 * Get all the annotations from the service provider class
		 * and create a metadata <code>HashMap</code>
		 * @param serviceProviderClass
		 */
		public void setMetadata() ;
		
		public HashMap<String, Annotation[]> getMetadata();
		
		public String[] getProvidedServicesClassNames ();
		
		public String[] getRequiredServicesClassNames ();
		
		public String getContainerName();
		
		public String getBundleName();
		
		public String getProviderName();
		
		public String getProvidedServiceUtilityFunction (String serviceName);
		
		public boolean isEndUserService();

	    
}
